[アップデート] AWS Snow ファミリーが Ubuntu 20.04 および Ubuntu 22.04 をサポートするようになりました
新しいバージョンのUbuntu使いたいな
こんにちは、のんピ(@non____97)です。
皆さんはSnowファミリーのデバイス上でUbuntuのEC2インスタンスを起動したいなと思ったことはありますか? 私はあります。
Snowball EdgeにインポートしたデータをS3バケットにエクスポートする前にエッジ側で処理をしたい場合や、オンプレの仮想化基盤にvCPUやメモリなどの空きリソースがない場合はSnowファミリーのデバイス上でEC2インスタンスを起動させることが多いと思います。
Snowファミリーのデバイス上で起動するEC2インスタンスのOSには制限があります。Ubuntuの場合はUbuntu 16.04のみでした。
Ubuntu 16.04のサポートは2021年4月に切れています。(EOLは2026年4月)
通常サポートが切れいているOSはあまり使いたく無いですよね。
今回のアップデートでUbuntu 20.04 および Ubuntu 22.04 もサポートするようになりました。
AWS公式ドキュメントにも記載されていますね。
Linux
The following Linux operating systems are supported:
- Amazon Linux 2 for Snow Family
- CentOS 7 (x86_64) - with Updates HVM
- Ubuntu 16.04 LTS - Xenial (HVM)
Note
Ubuntu 16.04 LTS - Xenial (HVM) images are no longer supported in the AWS Marketplace, but still supported for use on Snowball Edge devices through Amazon EC2 VM Import/Export and running locally in AMIs.
- Ubuntu 20.04 LTS - Focal
- Ubuntu 22.04 LTS - Jammy
Using an Amazon EC2 AMI on Your Device - AWS Snowball Edge Developer Guide
試しにSnowball Edgeのジョブ作成時にUbuntu 22.04のAMIを指定できるか確認してみます。
いきなりまとめ
- AWS Snow ファミリーが Ubuntu 20.04 および Ubuntu 22.04 をサポートするようになった
- AMIはAWS MarketplaceのAMIから派生したAMIである必要がある
やってみた
Ubuntu 22.04のAMIの作成
早速確認します。
デフォルトではUbuntu OSのAMIは選択できません。
そのため、以下AWS公式ドキュメントに従い、対象OSからEC2インスタンスを起動し、そのEC2インスタンスのAMIを作成する必要があります。
Snowcone版は以下記事で紹介しています。
EC2のコンソールからEC2インスタンスを起動します。
AWS公式ドキュメントにはAWS MarketplaceのAMIを使うように記載ありますが、試しにコミュニティAMIを使用します。
インスタンスタイプはSnowball EdgeのEC2インスタンスでNitro Systemを使っていると紹介したドキュメントはなかったため、t2.micro
を選択しました。
キーペアは事前に作成していたものを指定します。
キーペアを指定しない場合、Snowball Edge上で起動したEC2インスタンスに接続することができません。必ず指定しましょう。
このインスタンスを作成したときに SSH キー ペアに使用した PEM または PPK ファイルのコピーを作成します。このファイルを、Snowball Edge デバイスとの通信に使用する予定のサーバーに保存します。SSH を使用してデバイスの EC2 インスタンスに接続するときに必要になるため、このファイルへのパスをメモしておきます。
重要
この手順に従わない場合、Snowball Edge デバイスを受け取ったときに SSH を使用してインスタンスに接続できません。
Using an Amazon EC2 AMI on Your Device - AWS Snowball Edge Developer Guide
ボリュームはデフォルトのものを指定しました。
ボリュームのサイズは10TB以下 かつ 暗号化してはいけないという要件があります。注意しましょう。
重要
- 単一ボリューム AMI のみがサポートされています。
- AMI の EBS ボリュームは 10 TB 以下である必要があります。AMI のデータに必要な EBS ボリューム サイズをプロビジョニングすることをお勧めします。これにより、AMI をエクスポートしてデバイスにロードするのにかかる時間を短縮できます。デバイスがデプロイされた後、インスタンスのサイズを変更したり、ボリュームを追加したりできます。
- AMI の EBS スナップショットは暗号化しないでください。
Using an Amazon EC2 AMI on Your Device - AWS Snowball Edge Developer Guide
その他の設定はお好みです。
EC2インスタンスが起動したら、カスタマイズします。apt update
やapt upgrade
なんかもしておくと良いと思います。
カスタマイズが完了したら起動したEC2インスタンスのAMIを作成します。
AMIのステータスが利用可能
になることを確認します。
Snowball Edgeのジョブ作成時にAMIを指定できるか確認
それでは、Snowball Edgeのジョブ作成時にAMIを指定できるか確認します。
ジョブの作成ウィザードを進めて、AMIを選択するEC2 インスタンスを使用したコンピューティング
を確認すると、先ほど作成したAMIは見つかりませんでした。
もしかしたらAWS MarketplaceのAMIから派生したAMIではないからかもしれませんね。
AWS MarketplaceのAMIから派生したAMIを作成してみます。
EC2インスタンスのAMIを選択する際に、AWS Marketplace
タブからUbuntu 22.04 LTS - Jammy
の選択
をクリックします。
内容を確認して続行
をクリックします。
AMIが選択されたことを確認します。
あとは前回EC2インスタンスを作成した時と同じパラメーターです。
EC2インスタンス作成後、AMIを作成します。
作成されたAMIのステータスが利用可能
になることを確認します。
再度ジョブの作成ウィザードを進めて、AMIを選択するEC2 インスタンスを使用したコンピューティングを確認すると、AWS MarketplaceのAMIから派生したAMIが見つかりました。
AWS MarketplaceのAMIから派生したAMIである必要があるようですね。
こちらのAMIを選択して、ウィザードを進めるとEC2インスタンス
の項目に選択したAMIの名前とIDを確認することができます。
あとはジョブを作成するだけです。
Snowball Edgeが手元に届いて、EC2インスタンスを起動させる際は以下AWSのFAQやブログを参考に進めます。
最新バージョンのUbuntuをSnowball Edge上で起動できるようになりました
AWS Snow ファミリーが Ubuntu 20.04 および Ubuntu 22.04 をサポートするようになったアップデートを紹介しました。
今までUbuntuはUbuntu 16.04しかサポートしていなかったので、私としては待望のアップデートです。
なお、AMIの登録はジョブ作成時ではなく、Snowball Edgeが届いてからでもできますが、VM Import/Exportが必要になるので、オススメしません。ジョブ作成前に事前に使用するAMIを準備しておくと良いでしょう。
個人的にはジョブ作成時にSnow ファミリー向け Amazon Linux 2のAMIがデフォルトで選択できるようになっていることも感動しました。
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!